#ifndef SEMAFORO_H_
#define SEMAFORO_H_

#include <sys/types.h>
#include <semaphore.h>
#include <cstdio>
#include <cstdlib>
#include <cerrno>
#include <fcntl.h>
#include <string>

using namespace std;

class Semaforo {
private:
	sem_t *sem;
	unsigned int valor;
	string nombre;
public:
	Semaforo();
	Semaforo(unsigned int, const string);
	~Semaforo();
	void P();
	bool TryP();
	void V();
	void Eliminar();
	void Liberar();
	string getNombre();
};

#endif
